Visual Basic.NET - Columnas <Null> en Oracle desde VB.NET

 
Vista:

Columnas <Null> en Oracle desde VB.NET

Publicado por Mikel (47 intervenciones) el 29/12/2003 12:36:12
Al leer una Tabla de una BD Oracle mediante un DataReader y alguno de las columnas de la tabla tiene valor <Null> me crea una excepción.
¿Alguien sabe como se puede solucionar?

Gracias por adelantado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 153
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

RE:Columnas <Null> en Oracle desde VB.NET

Publicado por Yamil Bracho (631 intervenciones) el 29/12/2003 15:28:20
Puedes usar la funcion IsDBNull o el metodo estatico Convert.IsDBNull y le pasas como parametro el campo del reader

If IsDBNull(reader.GetString(0)) Then
' Campo nulo

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Columnas <Null> en Oracle desde VB.NET

Publicado por Mikel (47 intervenciones) el 30/12/2003 10:37:52
Antes que nada ... Yamil, gracias por tu ayuda.

He probado lo que me dices (las dos opciones) y en ambos casos se produce el mismo error. Me explico ... por ejemplo al utilizar la función IsDBNull(Reader.get....) para ejecutar la función IsDBNull necesita como parametro el resultado del metodo Get del DataReader y ahí es donde me genera la excepción "System.InvalidOperationException".

Temporalmente lo tengo "controlado" con un control "Try ... Catch ... End Try" por cada campo de la tabla ... pero me parece extremamente cutre.

Si a alguien se le ocurre una posible solución se la agradecería, si no .... gracias a todos de todas formas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Solucionado

Publicado por Mikel (47 intervenciones) el 30/12/2003 11:57:28
Ya lo he solucionado. Por si le hace falta a alguien explico como.

Lo soluciono en la SELECT utilizando la función NVL de Oracle. De esta manera nunca me devuelve 'Null' sino que devuelve la expresión que se le indica en la funcion NVL(campo, expresión). De esta manera ya puedo controlar desde VB.NET que si recibo la expresión indicada en la función NVL es que tenía un nulo.

De todas formas ... muchas gracias a todos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar